Data ranking with a lorentzian fuzzy score

ABSTRACT

The present invention relates to a method for searching a document database such as the Internet and ranking the results obtained from such a search. The invention also relates to ranking of a set of numerical data according to a set of user specified preferences, including target range, fuzziness and bias. A fuzzy score is calculated for each database record satisfying a query and the results ranked according to fuzzy score. The fuzzy score is calculated using a Lorentzian fuzzy score formula.

BACKGROUND OF THE INVENTION

[0001] 1. Field of the Invention

[0002] The present invention relates to information retrieval in a dataprocessing system. The present invention further relates to a method forsearching a document database such as the Internet and ranking theresults obtained from such a search.

[0003] 2. Description of Related Art

[0004] A computer's logic is both its strength and its weakness; it canonly perform what it is told to do. If an alarm clock is set to go offat 6:00 PM, it will go off at exactly that time, even if it wasobviously meant to go off at 6:00 AM. People in the real world can solveproblems and make decisions relatively easy, but even the simplestdecisions are often too difficult to be handled by computer. Fuzzy logicquery processing helps to bridge the gap.

[0005] Databases are strategic tools because they support businessprocesses. In order for a database to be useful, data must be compiledinto information using tools such as queries. Queries allow a user tospecify what data to retrieve from a database, and in what form. Fuzzyquerying provides a way to retrieve data that was intended to beretrieved, without requiring exact parameters to be defined.

[0006] Non-fuzzy query processing relies on Boolean logic, which limitsresults to true or false (1 or 0). Fuzzy query processing is a supersetof Boolean logic that can handle partial truths. Instead of a searchresults being limited to return a value of true or false, the queryreturns values as x % true or x % a member of a subset.

[0007] Fuzzy queries rely on the use of fuzzy quantifiers. Dr. Lotfi A.Zadeh, the founder of fuzzy logic theory, defined two kinds ofquantifiers: absolute and relative. An absolute quantifier can berepresented as fuzzy subsets of the non-negative numbers and use wordssuch as at least three or about five. Relative qualifiers arerepresented as fuzzy subsets of the unit interval and use words such asmost, at least half, or almost all.

[0008] Fuzzy queries do not take the place of the more structuredqueries, but expand the alternatives available. Boolean systems useselection and then ordering as a mechanism, where a fuzzy system relieson a single mechanism of overall membership degree. A fuzzy systemallows for compromise between the various criteria, where a Booleensystem can produce a subset of previously selected elements. There aretimes when Booleen logic is too rigid to be meaningful to a user. Afuzzy query allows a user to find elements that satisfy a criterion andranks the results.

[0009]FIG. 1 illustrates the typical flow of a fuzzy database query.After identifying the need for a report 100, the user queries a database110. The database returns a record, which is matched against predefinedcriteria 120 to determine the degree to which a match has occurred. Thedegree is then compared to a threshold value 125 to determine whetherthe record satisfies the users query 130 or whether the record should bediscarded 135. In general, a fuzzy database query differs from anon-fuzzy query by adding steps to match the data to predefined criteriaand compare the value to a threshold specified in the query.

[0010] An object can be a member of multiple sets with a differentdegree of membership. The degree of membership is a scale from zero toone. Complete membership has a value of one, and no membership has avalue of zero. When running a fuzzy query in a control system, theoutput is calculated based on the value of membership a given input hasin the configured fuzzy sets. Each combination of sets is configured tohave a specified output. The output is based on the weighted sum of theamount of membership in each set. The fuzzy models may be used inconjunction with probabilistic models to find a solution.

[0011]FIG. 2 shows the three transformations of the system inputs 200 tooutputs 205 in a fuzzy system. The process of “fuzzification” 210 is amethodology to generalize any specific theory from a precise form tocontinuous form. It decomposes a system input or output into one or morefuzzy sets. After the decomposition into fuzzy sets, fuzzy ruleassociation 215 applies a set of rules to a combination of inputs. Therules determine the action and relate the variable into a numeric value.Once the numeric value is determined, de-fuzzification 220 converts thefuzzy result into an exact output value.

[0012] For example, telling a driving student to apply the brakes 74feet from the crosswalk is too precise to be followed. Vague wordinglike “apply the brakes soon”, however, can be interpreted and actedupon. The instruction is received in a fuzzy form, the person associatesthe message using past experiences, then defuzzifies the message inorder to actually apply the brakes at the appropriate time. Fuzzyqueries expand query capabilities by allowing for ambiguity and partialmembership.

SUMMARY OF THE INVENTION

[0013] The invention relates to database searching and the ranking of aset of numerical data according to a set of user specified preferences,including target range, fuzziness and bias.

[0014] In many database query applications, data records are returnedwhen certain field data falls into a user specified target range. Theintroduction of fuzziness in the present invention extends the returneddata set by including records that are “close” to the target range. Theaddition of a bias also increases the usefulness of the database queryby providing a means to rank the results of the query in a specifiedorder.

[0015] The present invention adapts the Lorentzian function to includevariables for fuzziness and bias in order to calculate fuzzy scores,which are used to rank the results of database searches. In oneembodiment, only a single input target range is used in the databasequery. In another embodiment, however, multiple query fields are used.According to another embodiment, when multiple query fields are usedfuzzy scores are calculated for each query field in each record. Thefuzzy scores of each query field in each record are then aggregated intoa composite fuzzy score that is then used to rank the results of thedatabase query.

[0016] Other features, advantages, and embodiments of the invention areset forth in part in the description that follows, and in part, will beobvious from this description, or may be learned from the practice ofthe invention.

BRIEF DESCRIPTION OF THE DRAWINGS

[0017] The foregoing and other features and advantages of this inventionwill become more apparent by reference to the following detaileddescription of the invention taken in conjunction with the accompanyingdrawings.

[0018]FIG. 1 shows the typical flow of a fuzzy database query.

[0019]FIG. 2 depicts the three main transformations in a fuzzy system.

[0020]FIG. 3 shows a graph of the Lorentzian function.

[0021]FIG. 4 shows calculated Lorentzian fuzzy scores where the bias isless than zero.

[0022]FIG. 5 shows calculated Lorentzian fuzzy scores where the bias isgreater than zero.

[0023]FIG. 6 shows two graphs of calculated Lorentzian fuzzy scoreswhere the fuzziness parameters are set to zero (i.e. there is nofuzziness).

[0024]FIG. 7 shows two graphs of calculated Lorentzian fuzzy scores inthe special case where the target range degenerates into a single value.

[0025]FIG. 8 shows a table of calculated fuzzy scores for each recordbased only on selling price.

[0026]FIG. 9 shows a table of calculated fuzzy scores for each recordbased only on number of rooms.

[0027]FIG. 10 shows a table of calculated fuzzy scores for each recordbased only on number of baths.

[0028]FIG. 11 shows aggregate fuzzy scores for each record and rankeddatabase records.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS OF THE INVENTION

[0029] As embodied and broadly described herein, the preferredembodiments of the present invention are directed to a method forsearching a document database such as the Internet according to a set ofuser specified preferences, including target range, fuzziness and biasand ranking the results obtained from such a search.

[0030] The basic building block of the fuzzy score is the Lorentzianfunction:$\quad \frac{1}{1 + \left\lbrack \frac{x - {x0}}{a} \right\rbrack^{2}}$

[0031] As shown in FIG. 3, the Lorentzian function 300 has a bell-shapeddrop off from a central peak. FIG. 3 depicts the Lorentzian functionwith a=5, x0=0, and x ranging from −10 to 10. The fuzziness of the scoreis proportional to the width of the Lorentzian function. The bias isintroduced by a linear variation within the target range.

[0032] The fuzzy score allows a user to rank a set of numerical dataaccording to the user's input. The qualitative behavior of theLorentzian fuzzy score is described as follows. For data that liesoutside the target range, the score is zero without fuzziness and in therange [0,1] with fuzziness. For data that is inside the target range,the score varies linearly, with a bias (higher score) towards either thelower or upper bound of the target range.

[0033] The following notation and terminology is used throughout thespecification: Name Symbols Notes Data Value x₁, x₂, . . ., x_(k) Themaximal and minimal data values are Max(x_(k)) and Min(x_(k)),respectively Target Range (x_(min), x_(max)) x_(max) ≧ x_(min) Bias β βmay be greater or smaller than zero Fuzzy Parameters $\begin{matrix}{{a1} = {{\alpha 1}*\frac{\Delta}{2}}} \\{{a2} = {{\alpha 2}*\frac{\Delta}{2}}}\end{matrix}\quad$

Δ = Max(x_(k)) − Min(x_(k)) Fuzziness or Closeness α1 and α2 α1 ≧ 0 andα2 ≧ 0

[0034] According to an embodiment of the present invention, the presentinvention can calculate a fuzzy score for a user defined database queryand rank the results of the query. The fuzzy score is calculated basedon user specified criteria including, but not limited to, target range(x_(min), x_(max)), fuzziness (α1 and α2) and bias (β) In anotherembodiment, the fuzziness and/or bias is static and set by thesoftware/system performing the search. While the parameters forfuzziness and bias are numeric, it is contemplated in at least oneembodiment that these parameters be translated into more easilyunderstood terminology for user selection. For example, instead ofhaving a user specify a numeric value for each of the fuzzinessparameters, α1 and α2, the user may select from a list of fuzzinesscategories (i.e. small, medium, large). The terms small, medium andlarge would equate to specific values of α1 and α2 and would be used tocalculate a fuzzy score as described herein. The same holds true for thebias parameter, β. Instead of having a user specify a numeric biasvalue, the user may select from a list of bias categories (i.e. towardthe lower bound, toward the upper bound). These categories would also beequated to specific numeric values and would be used to calculate afuzzy score as described herein.

[0035] In order to illustrate the application of the Lorentzian functionto calculate a fuzzy score, several examples will be given. Each examplewill illustrate how variations in user input parameters (i.e. targetvalues, fuzziness, bias) affect the Lorentzian function as it is used tocalculate a fuzzy score. For consistency, the examples will be based ona user who is shopping for a new home via a web site containing new homedata. The web site allows the user to search a database of new homesbased on the selling price of the home. For the following examples it isassumed the user is interested in houses between $200,000 and $250,000.Thus, the target range is defined as x_(min)=200000 and x_(max)=250000.In addition, the web site allows the user to input fuzziness values, α1and α2, and a bias value, β.

[0036] For bias (β) values less than zero (i.e. biased toward the lowerbound of the target range), the Lorentzian fuzzy score has the followingformula: ${{{For}\quad \beta} < 0},{{S(x)} = \begin{matrix}\frac{1}{1 + \left( \frac{x - x_{\min}}{a1} \right)^{2}} & {x < x_{\min}} \\{1 + \frac{\beta*\left( {x - x_{\min}} \right)}{x_{\max} - x_{\min}}} & {x_{\min} \leq x \leq x_{\max}} \\\frac{1 + \beta}{1 + \left( \frac{x - x_{\max}}{a2} \right)^{2}} & {x_{\max} < x}\end{matrix}}$

[0037] where x represents any data values, i.e., xε{x₁, . . . , x_(k)}.

[0038]FIG. 4 shows a sample plot 400 of S(x) with x_(min)=200000,x_(max)=250000, α1=2, α2=1 and β=−0.1. The negative slope of the graphbetween the target values $200,000 and $250,000 is the result of thenegative bias. The negative bias affects the fuzzy score calculated fromdata values between the target range by biasing those data values closerto the lower end of the target range. In addition, worth noting are thecalculated fuzzy scores for the data points that lie outside the targetrange. The non-zero scores for those data points lying outside thetarget range are a direct result of the incorporation of the fuzzinessparameters into the Lorentzian function. Consistent with the Lorentzianfunction is the rapid drop off of the fuzzy scores for the data pointsthat lie farthest from the target range. In this example, and asillustrated in the table of result rankings 410, the query would havereturned records for each of the 12 homes in the database. The additionof the fuzzy scores, however, makes it easy for the user to visualizethe records that best conform to the original search parameters.

[0039] For bias (β) values greater than zero (i.e. biased toward theupper bound of the target range), the Lorentzian fuzzy score has thefollowing formula:${{{For}\quad \beta} > 0},{{S(x)} = \begin{matrix}\frac{1 - \beta}{1 + \left( \frac{x - x_{\min}}{a1} \right)^{2}} & {x < x_{\min}} \\{1 + \frac{\beta*\left( {x - x_{\max}} \right)}{x_{\max} - x_{\min}}} & {x_{\min} \leq x \leq x_{\max}} \\\frac{1}{1 + \left( \frac{x - x_{\max}}{a2} \right)^{2}} & {x_{\max} < x}\end{matrix}}$

[0040] where x represents any data values, i.e., xε{x₁, . . . , x_(k)}.

[0041]FIG. 5 shows a sample plot 500 of S(x) with x_(min)=200000,x_(max)=250000, α1=2, α2=1, and β=0.1. The positive slope of the graphbetween the target values $200,000 and $250,000 is the result of thepositive bias. The positive bias affects the fuzzy score calculated fromdata values between the target range by biasing those data values closerto the upper end of the target range. In addition, worth noting are thecalculated fuzzy scores for the data points that lie outside the targetrange. The non-zero scores for those data points lying outside thetarget range are a direct result of the incorporation of the fuzzinessparameters into the Lorentzian function. Consistent with the Lorentzianfunction is the rapid drop off of the fuzzy scores for the data pointsthat lie farthest from the target range. In this example, and asillustrated in the table of result rankings 510, the query would havereturned records for each of the 12 homes in the database. The additionof the fuzzy scores, however, makes it easy for the user to visualizethe records that best conform to the original search parameters.

[0042] In the case of no fuzziness, α1=0, α2=0, and where the bias (β)value is less than zero (i.e. biased toward the lower bound of thetarget range), the Lorentzian fuzzy score has the following formula:${{{For}\quad \beta} < 0},{{\alpha \quad 1} = 0},{{{and}\quad {\alpha 2}} = 0},{{S(x)} = \begin{matrix}0 & {x < x_{\min}} \\{1 + \frac{\beta*\left( {x - x_{\min}} \right)}{x_{\max} - x_{\min}}} & {x_{\min} \leq x \leq x_{\max}} \\0 & {x_{\max} < x}\end{matrix}}$

[0043] where x represents any data values, i.e., xε{x₁, . . . , x_(k)}.

[0044] In the case of no fuzziness, α1=0, α2=0, and where the bias (β)value is greater than zero (i.e. biased toward the upper bound of thetarget range), the Lorentzian fuzzy score has the following formula:${{{For}\quad \beta} > 0},{{\alpha 1} = 0},{{{and}\quad {\alpha 2}} = 0},{{S(x)} = \begin{matrix}0 & {x < x_{\min}} \\{1 + \frac{\beta*\left( {x - x_{\max}} \right)}{x_{\max} - x_{\min}}} & {x_{\min} \leq x \leq x_{\max}} \\0 & {x_{\max} < x}\end{matrix}}$

[0045] where x represents any data values, i.e., xε{x₁, . . . , x_(k)}.

[0046]FIG. 6 shows a sample plot 600 of S(x) with x_(min)=200000,x_(max)=250000, α1=0, α2=0, and β=−0.1. FIG. 6 also shows another sampleplot 610 of S(x) with x_(min)=200000, x_(max)=250000, α1=0, α2=0, andβ=0.1. As with plots 400 and 500, plots 600 and 610 illustrate theeffect a negative and positive bias have on the calculated fuzzy scores.As previously stated, a negative bias results in the negative slope ofthe plot 600 between the target values, while a positive bias results inthe positive slope of the plot 610 between the target values. Since thefuzziness parameters, α1 and α2, were set to zero in both plot 600 andplot 610, all data values lying outside of the user defined target rangeare given a fuzzy score of zero. While the same query produced 12records with fuzziness (as illustrated in FIGS. 4 and 5), withoutfuzziness only 4 records are retrieved. Moreover, records that wouldprobably be of interest to the user, i.e. the $252,000 home, are neverretrieved when the query does not incorporate the fuzziness parameters.

[0047] In the special case where the target range degenerates into asingle value (i.e. x_(min)=x_(max)=x) and where the bias (β) value isless than zero (i.e. biased toward the lower bound of the target range),the Lorentzian fuzzy score has the following formula:${{{{For}\quad \beta} < {0\quad {and}\quad x_{\min}}} = {x_{\max} = \underset{\_}{x}}},{{S(x)} = \begin{matrix}\underset{\_}{\frac{1}{1 + \left( \frac{x - \underset{\_}{x}}{a1} \right)^{2}}} & {x < \underset{\_}{x}} \\1 & {x = \underset{\_}{x}} \\\frac{1 + \beta}{1 + \left( \frac{x - \underset{\_}{x}}{a2} \right)^{2}} & {x > \underset{\_}{x}}\end{matrix}}$

[0048] where x represents any data values, i.e., xε{x₁, . . . , x_(k)}.

[0049] In the special case where the target range degenerates into asingle value (i.e. x_(min)=x_(max)=x) and where the bias (β) value isgreater than zero (i.e. biased toward the upper bound of the targetrange), the Lorentzian fuzzy score has the following formula:${{{{For}\quad \beta} > {0\quad {and}\quad x_{\min}}} = {x_{\max} = \underset{\_}{x}}},{{S(x)} = \begin{matrix}\underset{\_}{\frac{1 - \beta}{1 + \left( \frac{x - \underset{\_}{x}}{a1} \right)^{2}}} & {x < \underset{\_}{x}} \\1 & {x = \underset{\_}{x}} \\\frac{1}{1 + \left( \frac{x - \underset{\_}{x}}{a2} \right)^{2}} & {x > \underset{\_}{x}}\end{matrix}}$

[0050] where x represents any data values, i.e., xε{x₁, . . . , x_(k)}.

[0051]FIG. 7 shows a sample plot 700 of S(x) with x=225000, α1=1, α2=1,and β=−0.1. FIG. 7 also shows another sample plot 710 of S(x) withx=225000, α1=1, α2=1, and β=0.1. The affect of the bias in plot 700 and710 is more difficult to discern since there is no target range.However, a close inspection of plot 700 shows that the negative biasdoes influence the calculated fuzzy scores for those data values lessthan the target value and in plot 710 that the positive bias doesinfluence the calculated fuzzy scores for those data values greater thanthen target value.

[0052] While each of the above examples has dealt with single termqueries (i.e. where the user is searching based only on the sellingprice, of a home), the present invention is easily extended to includequeries with multiple search terms. To illustrate how the Lorentzianfunction can be used in a multiple-field query a more sophisticated homebuying example is explored. The home buying database in this example ison the Internet and the user is given the option to search for new homesbased on selling price, number of rooms, and number of baths. For thisexample, it is assumed the database contains the following records:Selling $150,000 $170,000 $195,000 $200,000 $225,000 $230,000 $235,000$260,000 $280,000 Price Number 3 2 3 3 5 3 4 4 3 of Rooms Number 2.5 2 43 3.5 2 3 3 1.5 of Baths

[0053] It is further assumed that the user has entered the followingquery: Selling Price: $200,000-$230,000 Bias: Lower Priced Homes Numberof Rooms: 3 Bias: More Rooms Number of Baths: 3 Bias: More BathsFuzziness: Medium

[0054] As previously discussed, and as illustrated here, the database orsearch tool/engine may be set up to allow the user to input non-numericbias and fuzziness parameters that are more intuitive and user friendly.These non-numeric parameters are then equated to specific numericparameters by the database application, search tool/engine or othersystem/software. For this example, the following non-numeric userspecified bias parameters are equated to the following numericparameters: Bias Lower Priced Homes=−0.1, More Rooms=0.1, MoreBaths=0.1. In addition, for this example, the following non-numericspecified fuzziness parameter is equated to the following numericparameters: Medium→α1=2, α2=2. While the user, in this example, was onlyallowed to enter a single fuzziness parameter for the entire query, itis contemplated in another embodiment that each query field (i.e.selling price, number of rooms, number of baths) could have its ownseparate fuzziness parameter.

[0055] The process for searching the database and ranking the results ofthe query is straightforward. First, a fuzzy score is calculated foreach query field and for each record using the appropriate Lorentzianformula. Second, an aggregate fuzzy score is calculated for each recordusing the fuzzy scores for each query field. Finally, the results areranked according to the aggregate calculated fuzzy scores for eachrecord.

[0056]FIG. 8 shows the fuzzy score 800 for each record based only onselling price. Since the user has specified a bias toward the lowerbound of the target range (as indicated by the user's desire for lowerpriced homes), the following Lorentzian fuzzy score formula is used:${{{For}\quad \beta} < 0},{{S(x)} = \begin{matrix}\frac{1}{1 + \left( \frac{x - x_{\min}}{a1} \right)^{2}} & {x < x_{\min}} \\{1 + \frac{\beta*\left( {x - x_{\min}} \right)}{x_{\max} - x_{\min}}} & {x_{\min} \leq x \leq x_{\max}} \\\frac{1 + \beta}{1 + \left( \frac{x - x_{\max}}{a2} \right)^{2}} & {x_{\max} < x}\end{matrix}}$

[0057] where x represents any data values, i.e., xε{x₁, . . . , x_(k)},x_(min=)200000, x_(max)=230000, α1=2, α2=2, and β=−0.1.

[0058]FIG. 9 shows the fuzzy score 900 for each record based only onnumber of rooms. Since the user has specified a bias toward the upperbound of the target range (as indicated by the user's desire for morerooms), the following Lorentzian fuzzy score formula is used:${{{{For}\quad \beta} > {0\quad {and}\quad x_{\min}}} = {x_{\max} = \underset{\_}{x}}},{{S(x)} = \begin{matrix}\underset{\_}{\frac{1 - \beta}{1 + \left( \frac{x - \underset{\_}{x}}{a1} \right)^{2}}} & {x < \underset{\_}{x}} \\1 & {x = \underset{\_}{x}} \\\frac{1}{1 + \left( \frac{x - \underset{\_}{x}}{a2} \right)^{2}} & {x > \underset{\_}{x}}\end{matrix}}$

[0059] where x represents any data values, i.e., xδ{x₁, . . . , x_(k)},x=3, α1=2, α2=2, and β0.1.

[0060]FIG. 10 shows the fuzzy score 1000 for each record based only onnumber of baths. Since the user has specified a bias toward the upperbound of the target range (as indicated by the user's desire for morebaths), and since a single target value is also specified, the sameLorentzian fuzzy score formula used to calculate the fuzzy scores foreach record based on number of rooms is used.

[0061] Once a fuzzy score is calculated for each query field for eachrecord, an aggreagate fuzzy score is calculated for each record. In oneembodiment, this is accomplished by simply adding the fuzzy scores ofeach query field together. In another embodiment, an aggregate fuzzyscore is calculated by using a weighted sum. By using a weighted sum theresults of a specific query field(s) can be given more weight. Forexample, a user may consider the selling price of a home more importantthan any of the other query fields. In order to incorporate this intothe ranking methodology, the fuzzy scores calculated based only on theselling price of the home are multiplied by some factor so that theselling price of the home has more influence on the aggregate fuzzyscores.

[0062] The aggregate fuzzy scores 1100 for each record in this exampleare shown in FIG. 11. In this example the fuzzy scores of each queryfield have simply been added together. Once the aggregate fuzzy scoresare calculated, the database records are ranked according to aggregatefuzzy score. The ranked database records 1110 are also shown in FIG. 11.With the homes ranked, the user can easily identify those homes thatbest match the user's query.

[0063] As would be expected based on the input query, the home sellingfor $200,000 with 3 rooms and 3 baths is ranked the highest. While atraditional database search would not have retrieved any records outsidethe user's input target range of $200,000-$230,000, 3 rooms and 3 baths,the present invention has returned all 9 records. Worth noting is thehome selling for $195,000 with 3 rooms and 4 baths and the home sellingfor $235,000 with 4 rooms and 3 baths. Both of these homes would nothave been included within the search results in a traditional databasesearch, but in the present invention are ranked high due to theincorporation of the fuzziness parameters in the Lorentzian fuzzy scoreformulas.

[0064] Other embodiments and uses of the present invention will beapparent to those skilled in the art from consideration of thisapplication and practice of the invention disclosed herein. The presentdescription and examples should be considered exemplary only, with thetrue scope and spirit of the invention being indicated by the followingclaims. As will be understood by those of ordinary skill in the art,variations and modifications of each of the disclosed embodiments,including combinations thereof, can be made within the scope of thisinvention as defined by the following claims.

What is claimed is:
 1. A method for searching a database comprising atleast one record and ranking search results, comprising: entering aquery, wherein the query comprises one or more numerical search terms;searching the database using the query; determining whether the at leastone record in the database satisfies the query; and ranking each recordof the at least one record that satisfies the query according to a fuzzyscore, wherein the fuzzy score is calculated using a Lorentzian fuzzyscore formula.
 2. The method of claim 1, wherein the query furthercomprises a fuzziness parameter and a bias parameter.
 3. The method ofclaim 2, wherein at least one of the one or more numerical search termsis a target range having a minimum numeric value and a maximum numericvalue.
 4. The method of claim 3, wherein the bias parameter is anegative number and wherein the fuzzy score is calculated using thefollowing Lorentzian fuzzy score formula: ${S(x)} = \begin{matrix}\frac{1}{1 + \left( \frac{x - x_{\min}}{a1} \right)^{2}} & {x < x_{\min}} \\{1 + \frac{\beta*\left( {x - x_{\min}} \right)}{x_{\max} - x_{\min}}} & {x_{\min} \leq x \leq x_{\max}} \\\frac{1 + \beta}{1 + \left( \frac{x - x_{\max}}{a2} \right)^{2}} & {x_{\max} < x}\end{matrix}$

where x represents any data values, i.e., xε{x₁, . . . , x_(k)}.
 5. Themethod of claim 3, wherein the bias parameter is a positive number andwherein the fuzzy score is calculated using the following Lorentzianfuzzy score formula: ${S(x)} = \begin{matrix}\frac{1 - \beta}{1 + \left( \frac{x - x_{\min}}{a1} \right)^{2}} & {x < x_{\min}} \\{1 + \frac{\beta*\left( {x - x_{\max}} \right)}{x_{\max} - x_{\min}}} & {x_{\min} \leq x \leq x_{\max}} \\\frac{1}{1 + \left( \frac{x - x_{\max}}{a2} \right)^{2}} & {x_{\max} < x}\end{matrix}$

where x represents any data values, i.e., xε{x₁, . . . , x_(k)}.
 6. Themethod of claim 2, wherein the bias parameter is a negative number andwherein the fuzzy score is calculated using the following Lorentzianfuzzy score formula: ${S(x)} = \begin{matrix}\underset{\_}{\frac{1}{1 + \left( \frac{x - \underset{\_}{x}}{a1} \right)^{2}}} & {x < \underset{\_}{x}} \\1 & {x = \underset{\_}{x}} \\\frac{1 + \beta}{1 + \left( \frac{x - \underset{\_}{x}}{a2} \right)^{2}} & {x > \underset{\_}{x}}\end{matrix}$

where x represents any data values, i.e., xε{x₁, . . . , x_(k)}.
 7. Themethod of claim 2, wherein the bias parameter is a positive number andwherein the fuzzy score is calculated using the following Lorentzianfuzzy score formula: ${S(x)} = \begin{matrix}\underset{\_}{\frac{1 - \beta}{1 + \left( \frac{x - \underset{\_}{x}}{a1} \right)^{2}}} & {x < \underset{\_}{x}} \\1 & {x = \underset{\_}{x}} \\\frac{1}{1 + \left( \frac{x - \underset{\_}{x}}{a2} \right)^{2}} & {x > \underset{\_}{x}}\end{matrix}$

where x represents any data values, i.e., xε{x₁, . . . , x_(k)}.
 8. Amethod for ranking a set of data, wherein the set of data comprises aplurality of data elements and wherein the data elements are associatedwith a query, the method comprising: setting or presetting a numericbias parameter and a numeric fuzziness factor; calculating a fuzzy scorefor each data element of the plurality of data elements, wherein thefuzzy score is calculated using a Lorentzian fuzzy score formula andwherein when the numeric bias parameter is set or preset to a negativenumber and the query comprises a numeric target range, the Lorentzianfuzzy score is: ${S(x)} = \begin{matrix}\frac{1}{1 + \left( \frac{x - x_{\min}}{a1} \right)^{2}} & {x < x_{\min}} \\{1 + \frac{\beta*\left( {x - x_{\min}} \right)}{x_{\max} - x_{\min}}} & {x_{\min} \leq x \leq x_{\max}} \\\frac{1 + \beta}{1 + \left( \frac{x - x_{\max}}{a2} \right)^{2}} & {x_{\max} < x}\end{matrix}$

 where x represents any data values, i.e., xε{x₁, . . . , x_(k)},wherein when the numeric bias parameter is set or preset to a positivenumber and the query comprises a numeric target range, the Lorentzianfuzzy score is: ${S(x)} = \begin{matrix}\frac{1 - \beta}{1 + \left( \frac{x - x_{\min}}{a1} \right)^{2}} & {x < x_{\min}} \\{1 + \frac{\beta*\left( {x - x_{\max}} \right)}{x_{\max} - x_{\min}}} & {x_{\min} \leq x \leq x_{\max}} \\\frac{1}{1 + \left( \frac{x - x_{\max}}{a2} \right)^{2}} & {x_{\max} < x}\end{matrix}$

 where x represents any data values, i.e., xε{x₁, . . . , x_(k)},wherein when the numeric bias parameter is set or preset to a negativenumber and the query comprises a single numeric value, the Lorentzianfuzzy score is: ${S(x)} = \begin{matrix}\underset{\_}{\frac{1}{1 + \left( \frac{x - \underset{\_}{x}}{a1} \right)^{2}}} & {x < \underset{\_}{x}} \\1 & {x = \underset{\_}{x}} \\\frac{1 + \beta}{1 + \left( \frac{x - \underset{\_}{x}}{a2} \right)^{2}} & {x > \underset{\_}{x}}\end{matrix}$

 where x represents any data values, i.e., xε{x₁, . . . , x_(k)}, andwherein when the numeric bias parameter is set or preset to a positivenumber and the query comprises a single numeric value, the Lorentzianfuzzy score is: ${S(x)} = \begin{matrix}\underset{\_}{\frac{1 - \beta}{1 + \left( \frac{x - \underset{\_}{x}}{a1} \right)^{2}}} & {x < \underset{\_}{x}} \\1 & {x = \underset{\_}{x}} \\\frac{1}{1 + \left( \frac{x - \underset{\_}{x}}{a2} \right)^{2}} & {x > \underset{\_}{x}}\end{matrix}$

 where x represents any data values, i.e., xε{x₁, . . . , x_(k)}; andranking each data element according to the fuzzy score.
 9. A method forsearching a database and ranking search results, comprising: entering aquery, wherein the query comprises a plurality of numerical searchterms; searching the database using the query, wherein the databasecomprises at least one record; determining whether the at least onerecord in the database satisfies the query; calculating a fuzzy scoreusing a Lorentzian fuzzy score formula for each numerical search term ofthe plurality of numerical search terms for each record of the at leastone record that satisfies the query; summing the fuzzy score of eachnumerical search term for each record into an aggregate fuzzy score;ranking each record according to the aggregate fuzzy score.
 10. Themethod of claim 9, wherein after calculating the fuzzy score for eachnumerical search term for each record, the fuzzy score of at least onenumerical search term of the plurality of numerical search terms foreach record is multiplied by a weight factor to produce a weighted fuzzyscore and wherein the summing of the fuzzy score of each numericalsearch term for each record comprises the weighted fuzzy score in lieuof the fuzzy score for the at least one numerical search term.